libxl: event handling: Add an assert to egc_run_callbacks
authorIan Jackson <ian.jackson@eu.citrix.com>
Mon, 9 Feb 2015 15:10:11 +0000 (15:10 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 9 Feb 2015 17:41:17 +0000 (17:41 +0000)
commit6b5a5bba1a8025040947f39f1c80012373f35efe
treebcc03940ac3b868a9cd029d00cf232703674f976
parent001324547356af86875fad5003f679571a6b8f1c
libxl: event handling: Add an assert to egc_run_callbacks

Check that the ao is still live when we are about to running some of
its callbacks.

This reveals an existing bug in libxl which is exercised by libvirt,
converting
   libvirtd: libxl_event.c:1792: libxl__ao_complete_check_progress_reports: Assertion `ao->in_initiator' failed.
into
   libvirtd: libxl_event.c:1338: egc_run_callbacks: Assertion `aop->ao->magic == 0xA0FACE00ul' failed.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Jim Fehlig <jfehlig@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl_event.c